In a modern communications system, to ensure reliable and effective transmission of various data in a channel, an error correction coding technology generally needs to be used. Particularly, development of wireless digital communications and emergence of various high-speed and bursty services impose increasingly high requirements on the error correction coding technology. A Turbo code implements content at a stage from channel coding to channel decoding in a communications system, and its bit error rate plays a decisive role in the whole system.
The Turbo code is a forward error correction channel coding and decoding technology; a Turbo encoder includes two recursive cyclic convolutional codes combined by using an interleaver in a parallel concatenated manner, and a decoding manner of feedback iteration is used. To improve decoding performance of the Turbo code, an iterative Turbo-code decoding method assisted by a list Viterbi algorithm is used in the prior art. According to this method, on the basis of conventional iterative Turbo decoding, a list Viterbi algorithm is performed by using soft outputs from iterations and multiple optimal paths are outputted; detection of error frames is performed by using cyclic redundancy check (CRC for short) and the iteration is terminated prematurely, or a suboptimal path is outputted.
However, when the iterative Turbo code decoding method assisted by the list Viterbi algorithm is used in a communications system, a performance gain is not large.